/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package camada.bancodedados.daoimplemente.cat52;

import camada.bancodedados.conexao.Conexao;
import camada.negocio.dao.cat52.ImportacaoCatDetalheDAO;
import eloma.classe.cat52.ImportacaoCatDetalhe;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Ícaro
 */
public class ImportacaoCatDetalheDAOImpl implements ImportacaoCatDetalheDAO{
    
    private static Connection con;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    
    @Override
    public List<ImportacaoCatDetalhe> buscaTodosId(int idImportacaiCat) throws Exception {

        try {

            String SQL_SCRIPT = "Select * from importacaocat_detalhe where idimportacaoCat = ?";

            con = Conexao.getCon();
            con.setAutoCommit(false);

            stmt = con.prepareStatement(SQL_SCRIPT);
            stmt.setInt(1, idImportacaiCat);
            rs = stmt.executeQuery();

            con.commit();

        } catch (SQLException sqle) {
            con.rollback();
        } catch (Exception e) {
            con.rollback();
        }

        return carregarMultiplosResultados(rs);

    }
    
    public List<ImportacaoCatDetalhe> carregarMultiplosResultados(ResultSet rs) throws SQLException {
        List<ImportacaoCatDetalhe> resultList = new ArrayList<ImportacaoCatDetalhe>();
        while (rs.next()) {
            ImportacaoCatDetalhe dto = new ImportacaoCatDetalhe();
            carregarVO(dto, rs);
            resultList.add(dto);
        }
        return resultList;
    }

    private ImportacaoCatDetalhe carregarResultadoSimples(ResultSet rs) throws SQLException {
        if (rs.next()) {
            ImportacaoCatDetalhe dto = new ImportacaoCatDetalhe();
            carregarVO(dto, rs);
            return dto;
        } else {
            return null;
        }
    }

    private void carregarVO(ImportacaoCatDetalhe dto, ResultSet rs) throws SQLException {
        dto.setIdImportacaoCatDetalhe(rs.getInt("IdImportacaoCatDetalhe"));
        dto.setIdImportacaoCat(rs.getInt("IdImportacaoCat"));
        dto.setMarca(rs.getString("marca"));
        dto.setModelo(rs.getString("modelo"));
        dto.setNumeroEcf(rs.getInt("numeroEcf"));
        dto.setMovimentoInicial(rs.getDate("movimento_inicial"));
        dto.setMovimentoFinal(rs.getDate("movimento_final"));
        dto.setCrzInicial(rs.getInt("crz_inicial"));
        dto.setCrzFinal(rs.getInt("crz_final"));
    }
}
